package com.zhongge.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * @ClassName HolidayVO
 * @Description TODO
 * @Author zhongge
 * @Version 1.0
 */
@Data
public class HolidayVO {
    /*
    * 假期ID
    * */
    private Long id;

    /**
     * 参考字典表中的字典值
     */
    private String holidayName;

    /**
     * 假期开始时间
     */
    /**
     * @JsonFormat：将数据库中的日期格式化展示给前端
     * @DateTimeFormat：将前端的日期格式为对应yyyy-MM-dd HH:mm:ss字符串存入数据库
     */
    //@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") // 返回JSON时的格式化（指定时区避免偏差）
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") // 与前端传递的格式一致
    private LocalDateTime holidayBegin;

    /**
     * 假期结束时间
     */
    //@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") // 返回JSON时的格式化（指定时区避免偏差）
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") // 与前端传递的格式一致
    private LocalDateTime holidayEnd;

    /**
     * 假期去向登记开始时间
     */
    //@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") // 返回JSON时的格式化（指定时区避免偏差）
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") // 与前端传递的格式一致
    private LocalDateTime holidayDestRegisterBegin;

    /**
     * 假期去向登记截止时间
     */
    //@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") // 返回JSON时的格式化（指定时区避免偏差）
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") // 与前端传递的格式一致
    private LocalDateTime holidayDestRegisterEnd;

    /**
     * 参照字典表 0->待发布 1->正在进行 2->已发布
     */
    private String stateName;

}
